;Assembler header file for OS
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:03:53 2005
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 9 Feb 1997

        [       :LNOT: :DEF: OS_Hdr
        GBLS    OS_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

;Symbols for constants
OS_ErrorLimit                   *       252
OS_FileNameLimit                *       256
OS_CLILimit                     *       256
OS_CLILimitRO4                  *       1024
OS_RShift                       *       8
OS_GShift                       *       16
OS_BShift                       *       24
OS_R                            *       &FF00
OS_G                            *       &FF0000
OS_B                            *       &FF000000
OS_ColourRange                  *       255
OS_Mode1bpp90x45                *       &0
OS_Mode2bpp90x45                *       &8
OS_Mode4bpp90x45                *       &C
OS_Mode8bpp90x45                *       &F
OS_Mode2bpp45x45                *       &1
OS_Mode4bpp45x45                *       &9
OS_Mode8bpp45x45                *       &D
OS_Mode1bpp90x90                *       &19
OS_Mode2bpp90x90                *       &1A
OS_Mode4bpp90x90                *       &1B
OS_Mode8bpp90x90                *       &1C
OS_Inch                         *       180
OS_VDUNull                      *       &00
OS_VDUCharToPrinter             *       &01
OS_VDUPrinterOn                 *       &02
OS_VDUPrinterOff                *       &03
OS_VDUGraphTextOff              *       &04
OS_VDUSplitCursors              *       &04
OS_VDUGraphTextOn               *       &05
OS_VDUJoinCursors               *       &05
OS_VDUScreenOn                  *       &06
OS_VDUVduOn                     *       &06
OS_VDUBell                      *       &07
OS_VDUBackspace                 *       &08
OS_VDUTab                       *       &09
OS_VDULinefeed                  *       &0A
OS_VDULineFeed                  *       &0A
OS_VDUVerticalTab               *       &0B
OS_VDUClS                       *       &0C
OS_VDUReturn                    *       &0D
OS_VDUPageModeOn                *       &0E
OS_VDUPageModeOff               *       &0F
OS_VDUClG                       *       &10
OS_VDUSetTextColour             *       &11
OS_VDUSetGCOL                   *       &12
OS_VDUSetPalette                *       &13
OS_VDUResetColours              *       &14
OS_VDUScreenOff                 *       &15
OS_VDUVduOff                    *       &15
OS_VDUMode                      *       &16
OS_VDUSetMode                   *       &16
OS_VDUMisc                      *       &17
OS_VDUSetGraphicsWindow         *       &18
OS_VDUPlot                      *       &19
OS_VDUPlotVdu                   *       &19
OS_VDUResetWindows              *       &1A
OS_VDUEscape                    *       &1B
OS_VDUSetTextWindow             *       &1C
OS_VDUSetGraphicsOrigin         *       &1D
OS_VDUHomeTextCursor            *       &1E
OS_VDUSetTextCursor             *       &1F
OS_VDUSpace                     *       " "
OS_VDUDelete                    *       &7F
OS_MiscInterlace                *       &00
OS_MiscCursor                   *       &01
OS_MiscSetECF1                  *       &02
OS_MiscSetECF2                  *       &03
OS_MiscSetECF3                  *       &04
OS_MiscSetECF4                  *       &05
OS_MiscSetDotStyle              *       &06
OS_MiscScroll                   *       &07
OS_MiscClearRegion              *       &08
OS_MiscSetOn                    *       &09
OS_MiscSetOff                   *       &0A
OS_MiscSetBBCECF                *       &0B
OS_MiscSetUnpackedECF1          *       &0C
OS_MiscSetUnpackedECF2          *       &0D
OS_MiscSetUnpackedECF3          *       &0E
OS_MiscSetUnpackedECF4          *       &0F
OS_MiscSetCursorMovement        *       &10
OS_MiscMisc                     *       &11
OS_MiscSetTextFGTint            *       &00
OS_MiscSetTextBGTint            *       &01
OS_MiscSetGraphicsFGTint        *       &02
OS_MiscSetGraphicsBGTint        *       &03
OS_MiscSetECFInterpretation     *       &04
OS_MiscInvertText               *       &05
OS_MiscSetECFOrigin             *       &06
OS_MiscSetCharSize              *       &07
OS_ActionOverwrite              *       &0
OS_ActionDisjoin                *       &1
OS_ActionConjoin                *       &2
OS_ActionExclusiveDisjoin       *       &3
OS_ActionInvert                 *       &4
OS_ActionIdentity               *       &5
OS_ActionConjoinNegation        *       &6
OS_ActionDisjoinNegation        *       &7
OS_ActionUseMask                *       &8
OS_ActionUseECF1                *       &10
OS_ActionUseECF2                *       &20
OS_ActionUseECF3                *       &30
OS_ActionUseECF4                *       &40
OS_ActionUseGiantECF            *       &50
OS_GCOLSetFG                    *       &0
OS_GCOLSetBG                    *       &80
OS_PlotSolid                    *       &0
OS_PlotSolidExEnd               *       &8
OS_PlotDotted                   *       &10
OS_PlotDottedExEnd              *       &18
OS_PlotSolidExStart             *       &20
OS_PlotSolidExBoth              *       &28
OS_PlotDottedExStart            *       &30
OS_PlotDottedExBoth             *       &38
OS_PlotPoint                    *       &40
OS_PlotHorizontalToNonBG        *       &48
OS_PlotTriangle                 *       &50
OS_PlotRightToBG                *       &58
OS_PlotRectangle                *       &60
OS_PlotHorizontalToFG           *       &68
OS_PlotParallelogram            *       &70
OS_PlotRightToNonFG             *       &78
OS_PlotFloodToNonBG             *       &80
OS_PlotFloodToFG                *       &88
OS_PlotCircleOutline            *       &90
OS_PlotCircle                   *       &98
OS_PlotArc                      *       &A0
OS_PlotSegment                  *       &A8
OS_PlotSector                   *       &B0
OS_PlotBlock                    *       &B8
OS_PlotEllipseOutline           *       &C0
OS_PlotEllipse                  *       &C8
OS_MoveBy                       *       &0
OS_PlotBy                       *       &1
OS_PlotInverseBy                *       &2
OS_PlotBGBy                     *       &3
OS_MoveTo                       *       &4
OS_PlotTo                       *       &5
OS_PlotInverseTo                *       &6
OS_PlotBGTo                     *       &7
OS_VartypeString                *       &0
OS_VartypeNumber                *       &1
OS_VartypeMacro                 *       &2
OS_VartypeExpanded              *       &3
OS_VartypeLiteralString         *       &4
OS_VartypeCode                  *       &10
OS_ModevarModeFlags             *       &0
OS_ModevarRScreen               *       &1
OS_ModevarBScreen               *       &2
OS_ModevarNColour               *       &3
OS_ModevarXEigFactor            *       &4
OS_ModevarYEigFactor            *       &5
OS_ModevarLineLength            *       &6
OS_ModevarScreenSize            *       &7
OS_ModevarYShiftFactor          *       &8
OS_ModevarLog2BPP               *       &9
OS_ModevarLog2BPC               *       &A
OS_ModevarXWindLimit            *       &B
OS_ModevarYWindLimit            *       &C
OS_ModeFlagNonGraphics          *       &1
OS_ModeFlagTeletext             *       &2
OS_ModeFlagGap                  *       &4
OS_ModeFlagBBCGap               *       &8
OS_ModeFlagHiResMono            *       &10
OS_ModeFlagDoubleHeight         *       &20
OS_ModeFlagHardwareScroll       *       &40
OS_ModeFlagFullPalette          *       &80
OS_ModeFlagDataFormat           *       &F000
OS_ModeFlagDataFormatShift      *       12
OS_ModeFlagDataFormatRGB        *       &0
OS_ModeFlagDataFormatCMYK       *       &1
OS_VduvarGWLCol                 *       &80
OS_VduvarGWBRow                 *       &81
OS_VduvarGWRCol                 *       &82
OS_VduvarGWTRow                 *       &83
OS_VduvarTWLCol                 *       &84
OS_VduvarTWBRow                 *       &85
OS_VduvarTWRCol                 *       &86
OS_VduvarTWTRow                 *       &87
OS_VduvarOrgX                   *       &88
OS_VduvarOrgY                   *       &89
OS_VduvarGCsX                   *       &8A
OS_VduvarGCsY                   *       &8B
OS_VduvarOlderCsX               *       &8C
OS_VduvarOlderCsY               *       &8D
OS_VduvarOldCsX                 *       &8E
OS_VduvarOldCsY                 *       &8F
OS_VduvarGCsIX                  *       &90
OS_VduvarGCsIY                  *       &91
OS_VduvarNewPtX                 *       &92
OS_VduvarNewPtY                 *       &93
OS_VduvarScreenStart            *       &94
OS_VduvarDisplayStart           *       &95
OS_VduvarTotalScreenSize        *       &96
OS_VduvarGPLFMD                 *       &97
OS_VduvarGPLBMD                 *       &98
OS_VduvarGFCOL                  *       &99
OS_VduvarGBCOL                  *       &9A
OS_VduvarTForeCol               *       &9B
OS_VduvarTBackCol               *       &9C
OS_VduvarGFTint                 *       &9D
OS_VduvarGBTint                 *       &9E
OS_VduvarTFTint                 *       &9F
OS_VduvarTBTint                 *       &A0
OS_VduvarMaxMode                *       &A1
OS_VduvarGCharSizeX             *       &A2
OS_VduvarGCharSizeY             *       &A3
OS_VduvarGCharSpaceX            *       &A4
OS_VduvarGCharSpaceY            *       &A5
OS_VduvarHLineAddr              *       &A6
OS_VduvarTCharSizeX             *       &A7
OS_VduvarTCharSizeY             *       &A8
OS_VduvarTCharSpaceX            *       &A9
OS_VduvarTCharSpaceY            *       &AA
OS_VduvarGCOLOraEorAddr         *       &AB
OS_VduvarVIDCClockSpeed         *       &AC
OS_VduvarWindowWidth            *       &100
OS_VduvarWindowHeight           *       &101
OS_VduvarEndList                *       &FFFFFFFF
OS_Foreground                   *       &0
OS_Background                   *       &80
OS_ColourTransparent            *       &FFFFFFFF
OS_ColourRed                    *       &FF00
OS_ColourGreen                  *       &FF0000
OS_ColourBlue                   *       &FF000000
OS_ColourCyan                   *       &FFFF0000
OS_ColourMagenta                *       &FF00FF00
OS_ColourYellow                 *       &FFFF00
OS_ColourWhite                  *       &FFFFFF00
OS_ColourVeryLightGrey          *       &DDDDDD00
OS_ColourLightGrey              *       &BBBBBB00
OS_ColourMidLightGrey           *       &99999900
OS_ColourMidDarkGrey            *       &77777700
OS_ColourDarkGrey               *       &55555500
OS_ColourVeryDarkGrey           *       &33333300
OS_ColourBlack                  *       &0
OS_ColourDarkBlue               *       &99440000
OS_ColourLightYellow            *       &EEEE00
OS_ColourLightGreen             *       &CC0000
OS_ColourLightRed               *       &DD00
OS_ColourCream                  *       &BBEEEE00
OS_ColourDarkGreen              *       &885500
OS_ColourOrange                 *       &BBFF00
OS_ColourLightBlue              *       &FFBB0000
OS_DevicePrinterBusy            *       &0
OS_DevicePrinter                *       &0
OS_DeviceSerialRinging          *       &1
OS_DeviceBatteryWarning         *       &1
OS_DevicePrinterAcknowledge     *       &2
OS_DeviceFloppyDiscIndex        *       &2
OS_DeviceVSync                  *       &3
OS_DevicePowerOn                *       &4
OS_DeviceIOCTimer0              *       &5
OS_DeviceIOCTimer1              *       &6
OS_DeviceFIQDowngrade           *       &7
OS_DeviceExpansionFIQDowngrade  *       &8
OS_DeviceSoundBuffer            *       &9
OS_DeviceIDEDiscA               *       &9
OS_DeviceSerialController       *       &A
OS_DeviceSerialPort             *       &A
OS_DeviceHardDiscController     *       &B
OS_DeviceFloppyDisc             *       &B
OS_DeviceNetwork                *       &B
OS_DeviceFloppyDiscChanged      *       &C
OS_DeviceIDEDisc                *       &C
OS_DeviceFloppyDiscA            *       &C
OS_DeviceExpansionCard          *       &D
OS_DeviceKeyboardTxEmpty        *       &E
OS_DeviceKeyboardRxFull         *       &F
OS_DeviceDMAChannel0            *       &10
OS_DeviceDMAChannel1            *       &11
OS_DeviceDMAChannel2            *       &12
OS_DeviceDMAChannel3            *       &13
OS_DeviceDMASoundChannel0       *       &14
OS_DeviceDMASoundChannel1       *       &15
OS_DeviceMouseRxFull            *       &16
OS_DeviceMouseTxEmpty           *       &17
OS_DeviceJoystickConversion     *       &18
OS_DeviceEvent0                 *       &19
OS_DeviceEvent1                 *       &1A
OS_ErrorNumberShift             *       0
OS_ErrorNumber                  *       &FF
OS_ErrorSourceShift             *       8
OS_ErrorSource                  *       &FFFF00
OS_ErrorCategoryShift           *       24
OS_ErrorCategory                *       &7000000
OS_CategoryUnclassified         *       0
OS_CategoryInformation          *       1
OS_CategoryWarning              *       2
OS_CategorySystem               *       3
OS_GlobalEscape                 *       1
OS_GlobalFatal                  *       2
OS_GlobalIsAFil                 *       3
OS_GlobalIsntFil                *       4
OS_GlobalIsADir                 *       5
OS_GlobalIsntDir                *       6
OS_GlobalNoFile                 *       7
OS_GlobalNoDir                  *       8
OS_GlobalNoAny                  *       9
OS_GlobalTypsBad                *       10
OS_GlobalBadRen                 *       11
OS_GlobalBadAcc                 *       12
OS_GlobalOpnFils                *       13
OS_GlobalBadName                *       14
OS_GlobalLongNam                *       15
OS_GlobalChannel                *       16
OS_GlobalBadSWI                 *       17
OS_GlobalModInUs                *       18
OS_GlobalStrOFlo                *       19
OS_GlobalNumOFlo                *       20
OS_GlobalBufOFlo                *       21
OS_GlobalBadStn                 *       22
OS_GlobalBadNet                 *       23
OS_GlobalFullNet                *       24
OS_GlobalNoEco                  *       25
OS_GlobalBadRead                *       26
OS_GlobalBadWrt                 *       27
OS_GlobalDataLst                *       28
OS_GlobalBadFSOp                *       29
OS_GlobalFSNoRd                 *       30
OS_GlobalFSNoWrt                *       31
OS_GlobalFSInUse                *       32
OS_GlobalBadAddress             *       33
OS_GlobalNoStore                *       34
OS_GlobalRAMLoadC               *       35
OS_GlobalDDS0                   *       36
OS_GlobalDDS1                   *       37
OS_GlobalDDS2                   *       38
OS_GlobalDDS3                   *       39
OS_GlobalCSDS                   *       40
OS_GlobalLDS                    *       41
OS_GlobalURDS                   *       42
OS_GlobalDr                     *       43
OS_GlobalApp                    *       44
OS_GlobalExDt                   *       45
OS_GlobalExLdEx                 *       46
OS_GlobalUseDesk                *       47
OS_GlobalAppQuit                *       48
OS_GlobalNoMem                  *       49
OS_GlobalBadHard                *       50
OS_GlobalBadParm                *       51
OS_GlobalNoWimp                 *       52
Error_Escape                    *       &11
Error_BadMode                   *       &19
Error_IsADir                    *       &A8
Error_TypesDontMatch            *       &AF
Error_BadRename                 *       &B0
Error_BadCopy                   *       &B1
Error_OutsideFile               *       &B7
Error_AccessViolation           *       &BD
Error_TooManyOpenFiles          *       &C0
Error_NotOpenForUpdate          *       &C1
Error_FileOpen                  *       &C2
Error_ObjectLocked              *       &C3
Error_AlreadyExists             *       &C4
Error_BadFileName               *       &CC
Error_FileNotFound              *       &D6
Error_Syntax                    *       &DC
Error_BadNoParms                *       &DC
Error_TooManyParms              *       &DC
Error_Channel                   *       &DE
Error_EndOfFile                 *       &DF
Error_BadFilingSystemName       *       &F8
Error_UnknownFilingSystem       *       &F8
Error_BadKey                    *       &FB
Error_BadAddress                *       &FC
Error_BadString                 *       &FD
Error_BadAliasString            *       &FD
Error_BadParmString             *       &FD
Error_WildCards                 *       &FD
Error_BadCommand                *       &FE
Error_BadMacVal                 *       &120
Error_BadVarNam                 *       &121
Error_BadVarType                *       &122
Error_VarNoRoom                 *       &123
Error_VarCantFind               *       &124
Error_VarTooLong                *       &125
Error_RedirectFail              *       &140
Error_StackFull                 *       &141
Error_BadHex                    *       &160
Error_BadExpr                   *       &161
Error_BadBra                    *       &162
Error_StkOFlo                   *       &163
Error_MissOpn                   *       &164
Error_MissOpr                   *       &165
Error_BadBits                   *       &166
Error_StrOFlo                   *       &167
Error_BadItm                    *       &168
Error_DivZero                   *       &169
Error_BadBase                   *       &16A
Error_BadNumb                   *       &16B
Error_NumbTooBig                *       &16C
Error_BadClaimNum               *       &1A1
Error_BadRelease                *       &1A2
Error_BadDevNo                  *       &1A3
Error_BadDevVecRel              *       &1A4
Error_BadEnvNumber              *       &1B0
Error_CantCancelQuit            *       &1B1
Error_ChDynamCAO                *       &1C0
Error_ChDynamNotAllMoved        *       &1C1
Error_AplWSpaceInUse            *       &1C2
Error_RAMFsUnchangeable         *       &1C3
Error_OSCLILongLine             *       &1E0
Error_OSCLITooHard              *       &1E1
Error_RCExc                     *       &1E2
Error_RCNegative                *       &1E2
Error_SysHeapFull               *       &1E3
Error_BuffOverflow              *       &1E4
Error_BadTime                   *       &1E5
Error_NoSuchSWI                 *       &1E6
Error_Unimplemented             *       &1E7
Error_OutOfRange                *       &1E8
Error_NoOSCLISpecials           *       &1E9
Error_BadParameters             *       &1EA
Error_ArgRepeated               *       &1EB
Error_BadReadSysInfo            *       &1EC
Error_CDATStackOverflow         *       &2C0
Error_CDATBufferOverflow        *       &2C1
Error_CDATBadField              *       &2C2
Error_CantStartApplication      *       &600
Error_BadCommandOption          *       &601
Error_UnknownSerialOp           *       &602
Error_BadHard                   *       &603
OSReadLine_GivenEchoCharacter   *       &40000000
OSReadLine_SuppressInvalid      *       &80000000
OSReadLine_EchoCharacter        *       &FF
OSReadLine_EchoCharacterShift   *       0
OS_ReadControlTerminated        *       &80000000
OS_ReadByte                     *       &40000000
OS_ReadLimited                  *       &20000000
OS_DestroyVar                   *       -1
OS_GSTerminateOnSpace           *       &20000000
OS_GSRetainStick                *       &40000000
OS_GSRetainDoubleQuote          *       &80000000
OS_DynamicAreaApplicationSpace  *       &FFFFFFFF
OS_DynamicAreaSystemHeap        *       &0
OS_DynamicAreaRMA               *       &1
OS_DynamicAreaScreenMemory      *       &2
OS_DynamicAreaSystemSprites     *       &3
OS_DynamicAreaFontCache         *       &4
OS_DynamicAreaRAMDisc           *       &5
OS_DynamicAreaFreePool          *       &6
PaletteV_ScreenStateRead        *       &FFFFFFFF
PaletteV_ScreenStateNormal      *       &0
PaletteV_ScreenStateQuiet       *       &1
KeyV_TypeArchimedes             *       &1
KeyV_TypePCAT                   *       &2
OS_CurrentMode                  *       &FFFFFFFF
OS_NonexistentMode              *       -1
OS_NotEnoughMemoryForMode       *       -2
OS_NoAlternativeMode            *       &FFFFFFFE
OS_HandlerMemoryLimit           *       &0
OS_HandlerUndefinedInstruction  *       &1
OS_HandlerPrefetchAbort         *       &2
OS_HandlerDataAbort             *       &3
OS_HandlerAddressException      *       &4
OS_HandlerOtherExceptions       *       &5
OS_HandlerError                 *       &6
OS_HandlerCallBack              *       &7
OS_HandlerBreakPt               *       &8
OS_HandlerEscape                *       &9
OS_HandlerEvent                 *       &A
OS_HandlerExit                  *       &B
OS_HandlerUnusedSWI             *       &C
OS_HandlerExceptionRegisters    *       &D
OS_HandlerApplicationSpace      *       &E
OS_HandlerCAO                   *       &F
OS_HandlerUpCall                *       &10
OS_SubstituteArgsIgnoreExtras   *       &80000000
OS_SortCardinal                 *       &0
OS_SortInteger                  *       &1
OS_SortCardinalPointer          *       &2
OS_SortIntegerPointer           *       &3
OS_SortCIString                 *       &4
OS_SortString                   *       &5
OS_SortGivenWorkspace           *       &20000000
OS_SortBuildArray               *       &40000000
OS_SortObjects                  *       &80000000
OS_AreaAccessReadWrite          *       &0
OS_AreaAccessReadOnly           *       &1
OS_AreaAccessNone               *       &3
OS_AreaAccessShift              *       0
OS_AreaNotBufferable            *       &10
OS_AreaNotCacheable             *       &20
OS_AreaDoublyMapped             *       &40
OS_AreaNoUserDrag               *       &80
OS_AreaNeedsGivenPages          *       &100
OS_AreaShrinkable               *       &200
OS_AreaSparse                   *       &400
OS_AreaPrivate                  *       &800
OS_AreaIsHeap                   *       &4000
OS_DisableChangedBox            *       &0
OS_EnableChangedBox             *       &1
OS_ResetChangedBox              *       &2
OS_ReadChangedBox               *       &FFFFFFFF
OS_ColourSetBG                  *       &10
OS_ColourGivenPattern           *       &20
OS_ColourSetText                *       &40
OS_ColourRead                   *       &80
PointerV_TypeQuadrature         *       &0
PointerV_TypeMicrosoft          *       &1
PointerV_TypeMouseSystems       *       &2
PointerV_TypePS2                *       &3
OSScreenMode_SuspendCacheing    *       &1
OSScreenMode_SuspendCleaning    *       &2
OSScreenMode_ReadLaziness       *       &FFFFFFFF
OSScreenMode_FirstVSync         *       &1
OSScreenMode_SecondVSync        *       &2
OSScreenMode_ThirdVSync         *       &3
OSDynamicArea_AllocateArea      *       -1
OSDynamicArea_AllocateBase      *       &FFFFFFFF
OSMemory_GivenPageNo            *       &100
OSMemory_GivenLogAddr           *       &200
OSMemory_GivenPhysAddr          *       &400
OSMemory_ReturnPageNo           *       &800
OSMemory_ReturnLogAddr          *       &1000
OSMemory_ReturnPhysAddr         *       &2000
OSMemory_Cache                  *       &C000
OSMemory_CacheShift             *       14
OSMemory_CacheDisable           *       &2
OSMemory_CacheEnable            *       &3
OSMemory_Type                   *       &F00
OSMemory_TypeShift              *       8
OSMemory_TypeAbsent             *       &0
OSMemory_TypeDRAM               *       &1
OSMemory_TypeVRAM               *       &2
OSMemory_TypeROM                *       &3
OSMemory_TypeIO                 *       &4
OSMemory_TypeSoftROM            *       &5
OSMemory_ControllerNo           *       &F
OSMemory_ControllerNoShift      *       0
OSMemory_ControllerType         *       &FFFFFFF0
OSMemory_ControllerTypeShift    *       8
OSMemory_ControllerTypeEASI     *       &0
OSMemory_ControllerTypeEASISpace *       &1
OSMemory_ControllerTypeVIDC1    *       &2
OSMemory_ControllerTypeVIDC20   *       &3
OSMemory_ControllerTypeSSpace   *       &4
OSMemory_ControllerTypeExtensionROMs *       &5
OSMemory_IOBufferable           *       &100
OSMemory_IOCacheable            *       &200
OSMemory_IODoublyMapped         *       &10000
OSMemory_IORestrictAccess       *       &20000
OSMemory_IOAccess               *       &F000000
OSMemory_IOAccessShift          *       24
OSMemory_Area                   *       &FF00
OSMemory_AreaShift              *       8
OSMemory_AreaCursorSystemSound  *       &1
OSMemory_AreaIRQStack           *       &2
OSMemory_AreaSVCStack           *       &3
OSMemory_AreaABTStack           *       &4
OSMemory_AreaUNDStack           *       &5
OSMemory_AreaSoftCAM            *       &6
OSMemory_AreaLevelOnePageTables *       &7
OSMemory_AreaLevelTwoPageTables *       &8
OSMemory_AreaHALWorkspace       *       &9
OSMemory_AreaKernelBuffers      *       &A
OSMemory_AreaUncacheableHALWorkspace *       &B
OS_PlatformCodeNeedsSynchronisation *       &1
OS_PlatformNeedsPredisableFunction *       &2
OS_PlatformExceptionVectorModifyNeeds32bit *       &4
OS_PlatformPipelineLength2      *       &8
OS_PlatformFullEarlyDataAborts  *       &10
OS_Platform32BitOS              *       &20
OS_Platform26BitModeNotAvailable *       &40
OS_GivenCodeRange               *       &1
OS_Hex1Limit                    *       1
OS_Hex2Limit                    *       2
OS_Hex4Limit                    *       4
OS_Hex6Limit                    *       6
OS_Hex8Limit                    *       8
OS_Cardinal1Limit               *       3
OS_Cardinal2Limit               *       5
OS_Cardinal3Limit               *       8
OS_Cardinal4Limit               *       10
OS_Integer1Limit                *       4
OS_Integer2Limit                *       6
OS_Integer3Limit                *       8
OS_Integer4Limit                *       11
OS_Binary1Limit                 *       8
OS_Binary2Limit                 *       16
OS_Binary3Limit                 *       24
OS_Binary4Limit                 *       32
OS_SpacedCardinal1Limit         *       3
OS_SpacedCardinal2Limit         *       6
OS_SpacedCardinal3Limit         *       10
OS_SpacedCardinal4Limit         *       13
OS_SpacedInteger1Limit          *       4
OS_SpacedInteger2Limit          *       7
OS_SpacedInteger3Limit          *       10
OS_SpacedInteger4Limit          *       14
OS_FixedNetStationLimit         *       7
OS_NetStationLimit              *       7
OS_FixedFileSizeLimit           *       11
OS_FileSizeLimit                *       11
OS_TransitionMouseRight         *       &1
OS_TransitionMouseMiddle        *       &2
OS_TransitionMouseLeft          *       &4
OS_TransitionKeyEscape          *       0
OS_TransitionKeyF1              *       1
OS_TransitionKeyF2              *       2
OS_TransitionKeyF3              *       3
OS_TransitionKeyF4              *       4
OS_TransitionKeyF5              *       5
OS_TransitionKeyF6              *       6
OS_TransitionKeyF7              *       7
OS_TransitionKeyF8              *       8
OS_TransitionKeyF9              *       9
OS_TransitionKeyF10             *       10
OS_TransitionKeyF11             *       11
OS_TransitionKeyF12             *       12
OS_TransitionKeyPrint           *       13
OS_TransitionKeyScrollLock      *       14
OS_TransitionKeyBreak           *       15
OS_TransitionKeyGrave           *       16
OS_TransitionKey1               *       17
OS_TransitionKey2               *       18
OS_TransitionKey3               *       19
OS_TransitionKey4               *       20
OS_TransitionKey5               *       21
OS_TransitionKey6               *       22
OS_TransitionKey7               *       23
OS_TransitionKey8               *       24
OS_TransitionKey9               *       25
OS_TransitionKey0               *       26
OS_TransitionKeyHyphen          *       27
OS_TransitionKeyEquals          *       28
OS_TransitionKeyPound           *       29
OS_TransitionKeyBackspace       *       30
OS_TransitionKeyInsert          *       31
OS_TransitionKeyHome            *       32
OS_TransitionKeyPageUp          *       33
OS_TransitionKeyNumLock         *       34
OS_TransitionKeyKeypadSlash     *       35
OS_TransitionKeyKeypadStar      *       36
OS_TransitionKeyKeypadHash      *       37
OS_TransitionKeyTab             *       38
OS_TransitionKeyQ               *       39
OS_TransitionKeyW               *       40
OS_TransitionKeyE               *       41
OS_TransitionKeyR               *       42
OS_TransitionKeyT               *       43
OS_TransitionKeyY               *       44
OS_TransitionKeyU               *       45
OS_TransitionKeyI               *       46
OS_TransitionKeyO               *       47
OS_TransitionKeyP               *       48
OS_TransitionKeySquareBra       *       49
OS_TransitionKeySquareKet       *       50
OS_TransitionKeyBackslash       *       51
OS_TransitionKeyDelete          *       52
OS_TransitionKeyCopy            *       53
OS_TransitionKeyPageDown        *       54
OS_TransitionKeyKeypad7         *       55
OS_TransitionKeyKeypad8         *       56
OS_TransitionKeyKeypad9         *       57
OS_TransitionKeyKeypadMinus     *       58
OS_TransitionKeyLeftControl     *       59
OS_TransitionKeyA               *       60
OS_TransitionKeyS               *       61
OS_TransitionKeyD               *       62
OS_TransitionKeyF               *       63
OS_TransitionKeyG               *       64
OS_TransitionKeyH               *       65
OS_TransitionKeyJ               *       66
OS_TransitionKeyK               *       67
OS_TransitionKeyL               *       68
OS_TransitionKeySemicolon       *       69
OS_TransitionKeyAcute           *       70
OS_TransitionKeyReturn          *       71
OS_TransitionKeyKeypad4         *       72
OS_TransitionKeyKeypad5         *       73
OS_TransitionKeyKeypad6         *       74
OS_TransitionKeyKeypadPlus      *       75
OS_TransitionKeyLeftShift       *       76
OS_TransitionKeyZ               *       78
OS_TransitionKeyX               *       79
OS_TransitionKeyC               *       80
OS_TransitionKeyV               *       81
OS_TransitionKeyB               *       82
OS_TransitionKeyN               *       83
OS_TransitionKeyM               *       84
OS_TransitionKeyComma           *       85
OS_TransitionKeyPoint           *       86
OS_TransitionKeySlash           *       87
OS_TransitionKeyRightShift      *       88
OS_TransitionKeyUp              *       89
OS_TransitionKeyKeypad1         *       90
OS_TransitionKeyKeypad2         *       91
OS_TransitionKeyKeypad3         *       92
OS_TransitionKeyCapsLock        *       93
OS_TransitionKeyLeftAlt         *       94
OS_TransitionKeySpace           *       95
OS_TransitionKeyRightAlt        *       96
OS_TransitionKeyRightControl    *       97
OS_TransitionKeyLeft            *       98
OS_TransitionKeyDown            *       99
OS_TransitionKeyRight           *       100
OS_TransitionKeyKeypad0         *       101
OS_TransitionKeyKeypadPoint     *       102
OS_TransitionKeyEnter           *       103
OS_TransitionUp                 *       0
OS_TransitionDown               *       1

;Symbols for structure offsets and sizes
                                ^       0
                                #       Int
OS_T                            *       @

                                ^       0
                                #       Byte
OS_F                            *       @

                                ^       0
                                #       Bits
OS_FW                           *       @

OS_Mode                         *       4 ;abstract type
                                ^       0
                                #       Byte
OS_GCOL                         *       @

                                ^       0
                                #       Byte
OS_Tint                         *       @

                                ^       0
                                #       Byte
OS_Action                       *       @

                                ^       0
                                #       Bits
OS_Colour                       *       @

                                ^       0
                                #       Int
OS_ColourNumber                 *       @

                                ^       0
OS_ColourPair_on                #       OS_Colour
OS_ColourPair_off               #       OS_Colour
OS_ColourPair                   *       @

                                ^       0
OS_Palette_entries              #       OS_Colour
OS_Palette                      *       @

                                ^       0
OS_SpritePalette_entries        #       OS_ColourPair
OS_SpritePalette                *       @

                                ^       0
OS_ECF_ecf                      #       8*Bits
OS_ECF                          *       @

                                ^       0
OS_CorrectionTable_gamma        #       256*Byte
OS_CorrectionTable              *       @

                                ^       0
OS_BCDDateAndTime_year          #       Byte
OS_BCDDateAndTime_month         #       Byte
OS_BCDDateAndTime_date          #       Byte
OS_BCDDateAndTime_weekday       #       Byte
OS_BCDDateAndTime_hour          #       Byte
OS_BCDDateAndTime_minute        #       Byte
OS_BCDDateAndTime_second        #       Byte
OS_BCDDateAndTime               *       @

                                ^       0
OS_StationNumber_station        #       Int
OS_StationNumber_net            #       Int
OS_StationNumber                *       @

                                ^       0
OS_Box_x0                       #       Int
OS_Box_y0                       #       Int
OS_Box_x1                       #       Int
OS_Box_y1                       #       Int
OS_Box                          *       @

                                ^       0
OS_Factors_xmul                 #       Int
OS_Factors_ymul                 #       Int
OS_Factors_xdiv                 #       Int
OS_Factors_ydiv                 #       Int
OS_Factors                      *       @

                                ^       0
OS_ChangeBox_state              #       Int
OS_ChangeBox_box                #       OS_Box
OS_ChangeBox                    *       @

                                ^       0
OS_Error_errnum                 #       Bits
OS_Error_errmess                #       252*Char
OS_Error                        *       @

                                ^       0
                                #       5*Byte
OS_DateAndTime                  *       @


                                ^       0
OS_Coord_x                      #       Int
OS_Coord_y                      #       Int
OS_Coord                        *       @

                                ^       0
OS_Trfm_entries                 #       6*Int
OS_Trfm                         *       @

                                ^       0
OS_HomTrfm_entries              #       4*Int
OS_HomTrfm                      *       @

                                ^       0
OS_Pgm_coords                   #       OS_Coord
OS_Pgm                          *       @

                                ^       0
OS_ErrorHandlerBuffer_pc        #       Int
OS_ErrorHandlerBuffer_errnum    #       Bits
OS_ErrorHandlerBuffer_errmess   #       248*Char
OS_ErrorHandlerBuffer           *       @

                                ^       0
OS_StringValue_offset           #       Int
                                ^       0
OS_StringValue_pointer          #       Ptr
OS_StringValue                  *       @

                                ^       0
                                #       Bits
OS_PlotCode                     *       @

                                ^       0
                                #       Int
OS_VarType                      *       @

                                ^       0
                                #       Int
OS_ModeVar                      *       @

                                ^       0
                                #       Bits
OS_ModeFlags                    *       @

OS_VDUVar                       *       OS_ModeVar

                                ^       0
                                #       Int
OS_DeviceType                   *       @

                                ^       0
                                #       Bits
OSReadLine_Flags                *       @

                                ^       0
OS_RegisterBlock_registers      #       16*Int
OS_RegisterBlock                *       @

                                ^       0
                                #       Bits
OS_ReadUnsignedFlags            *       @

                                ^       0
                                #       Bits
OS_GSFlags                      *       @

                                ^       0
                                #       Int
OS_DynamicAreaNo                *       @

                                ^       0
                                #       Int
PaletteV_ScreenState            *       @

                                ^       0
OS_VDUVarList_var               #       OS_VDUVar
OS_VDUVarList                   *       @

                                ^       0
OS_KeyHandler_k                 #       Byte
OS_KeyHandler                   *       @

                                ^       0
                                #       Int
KeyV_Type                       *       @

                                ^       0
                                #       Int
OS_HandlerType                  *       @

                                ^       0
                                #       Bits
OS_SubstituteArgsFlags          *       @

                                ^       0
OS_GI_type                      #       Byte
OS_GI_i                         #       4*Byte
OS_GI                           *       @

                                ^       0
OS_GS_size                      #       Short
OS_GS_s                         #       Char
OS_GS                           *       @
        
        MACRO
$label                          OS_GS_MEMBERS
$label._size                    #       Short
        MEND
        
                                ^       0
OS_GSBase                       OS_GS_MEMBERS
OS_GSBase                       *       @

                                ^       0
                                #       Ptr
OS_SortType                     *       @

OS_HeapSortFlags                *       4 ;abstract type
                                ^       0
                                #       Bits
OS_AreaFlags                    *       @

                                ^       0
OS_MemMapRequest_page_no        #       Int
OS_MemMapRequest_map            #       Ptr
OS_MemMapRequest_access         #       OS_AreaFlags
OS_MemMapRequest                *       @

                                ^       0
OS_MemMapRequestList_requests   #       OS_MemMapRequest
OS_MemMapRequestList            *       @

                                ^       0
OS_PageBlock_page_no            #       Int
OS_PageBlock_log_addr           #       Ptr
OS_PageBlock_phys_addr          #       Ptr
OS_PageBlock                    *       @

                                ^       0
                                #       Int
OS_ChangedBoxState              *       @

                                ^       0
                                #       Bits
OS_ColourFlags                  *       @

                                ^       0
                                #       Int
OS_PointerType                  *       @

                                ^       0
PointerV_Record_next            #       Ptr
PointerV_Record_flags           #       Bits
PointerV_Record_pointer_type    #       OS_PointerType
PointerV_Record_name            #       30*Char
PointerV_Record                 *       @

                                ^       0
                                #       Bits
OSScreenMode_CacheFlags         *       @

                                ^       0
                                #       Int
OSScreenMode_CleanerLaziness    *       @

                                ^       0
                                #       Bits
OSMemory_Flags                  *       @

                                ^       0
                                #       Bits
OSMemory_TypeFlags              *       @

                                ^       0
                                #       Bits
OSMemory_ControllerFlags        *       @

                                ^       0
                                #       Bits
OSMemory_IOFlags                *       @

OSMemory_IOReferenceKey         *       4 ;abstract type
                                ^       0
                                #       Bits
OSMemory_AreaFlags              *       @

                                ^       0
                                #       Bits
OS_PlatformFeatureFlags         *       @

                                ^       0
                                #       Bits
OS_SynchroniseCodeFlags         *       @

                                ^       0
                                #       Bits
OS_HardwareFlags                *       @

                                ^       0
OS_ModeBlock_size               #       Int
OS_ModeBlock_flags              #       Bits
OS_ModeBlock_xres               #       Int
OS_ModeBlock_yres               #       Int
OS_ModeBlock_log2_bpp           #       Int
OS_ModeBlock_frame_rate         #       Int
OS_ModeBlock_name               #       Char
OS_ModeBlock                    *       @
        
        MACRO
$label                          OS_ModeBlock_MEMBERS
$label._size                    #       Int
$label._flags                   #       Bits
$label._xres                    #       Int
$label._yres                    #       Int
$label._log2_bpp                #       Int
$label._frame_rate              #       Int
        MEND
        
                                ^       0
OS_ModeBlockBase                OS_ModeBlock_MEMBERS
OS_ModeBlockBase                *       @

                                ^       0
OS_ModeSelector_flags           #       Bits
OS_ModeSelector_xres            #       Int
OS_ModeSelector_yres            #       Int
OS_ModeSelector_log2_bpp        #       Int
OS_ModeSelector_frame_rate      #       Int
OS_ModeSelector_modevars_var    #       OS_ModeVar
OS_ModeSelector_modevars_val    #       Int
OS_ModeSelector                 *       @
        
        MACRO
$label                          OS_ModeSelector_MEMBERS
$label._flags                   #       Bits
$label._xres                    #       Int
$label._yres                    #       Int
$label._log2_bpp                #       Int
$label._frame_rate              #       Int
        MEND
        
                                ^       0
OS_ModeSelectorBase             OS_ModeSelector_MEMBERS
OS_ModeSelectorBase             *       @


;Symbols for SWI's and SWI reason codes
XOS_ReadVarValSize              *       &20023
OS_ReadVarValSize               *       &23
   ;Entry
   ;  R0 -> var (String)
   ;  R1 = &0
   ;  R2 = &80000000
   ;  R3 = context (Int)
   ;  R4 = var_type (OS_VarType)
   ;Exit
   ;  R0 corrupted
   ;  R2 = used (Int)
   ;  R3 = context_out (Int)
   ;  R4 = var_type_out (OS_VarType)

XOS_ChangeDynamicAreaNoFail     *       &2002A
OS_ChangeDynamicAreaNoFail      *       &2A
   ;Entry
   ;  R0 = area_type (OS_DynamicAreaNo)
   ;  R1 = change (Int)
   ;Exit
   ;  R1 = change_out (Int)

XOS_WriteC                      *       &20000
OS_WriteC                       *       &0
   ;Entry
   ;  R0 = c (Char)

WrchV                           *       &3
   ;Entry
   ;  R0 = c (Char)
   ;  R9 = &3

XOS_WriteS                      *       &20001
OS_WriteS                       *       &1

XOS_Write0                      *       &20002
OS_Write0                       *       &2
   ;Entry
   ;  R0 -> s (String)
   ;Exit
   ;  R0 corrupted

XOS_NewLine                     *       &20003
OS_NewLine                      *       &3

XOS_ReadC                       *       &20004
OS_ReadC                        *       &4
   ;Exit
   ;  R0 = c (Char)

RdchV                           *       &4
   ;Entry
   ;  R9 = &4
   ;Exit
   ;  R0 = c (Char)

XOS_CLI                         *       &20005
OS_CLI                          *       &5
   ;Entry
   ;  R0 -> command (String)

CLIV                            *       &5
   ;Entry
   ;  R0 -> command (String)
   ;  R9 = &5

XOS_ReadLine                    *       &2000E
OS_ReadLine                     *       &E
   ;Entry
   ;  R0 = buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

XOS_ReadLineGivenEcho           *       &2000E
OS_ReadLineGivenEcho            *       &E
   ;Entry
   ;  R0 = &40000000 :OR: buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;  R4 = echo (Char)
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

XOS_ReadLineSuppressInvalid     *       &2000E
OS_ReadLineSuppressInvalid      *       &E
   ;Entry
   ;  R0 = &80000000 :OR: buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

XOS_ReadLineGivenEchoSuppressInvalid *       &2000E
OS_ReadLineGivenEchoSuppressInvalid *       &E
   ;Entry
   ;  R0 = &C0000000 :OR: buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;  R4 = echo (Char)
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

XOS_ReadLine32                  *       &2007D
OS_ReadLine32                   *       &7D
   ;Entry
   ;  R0 = buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;  R4 = flags (OSReadLine_Flags)
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

ReadLineV                       *       &E
   ;Entry
   ;  R0 = buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;  R4 = echo (Char)
   ;  R9 = &E
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

ReadLine32V                     *       &E
   ;Entry
   ;  R0 = buffer (pointer to String)
   ;  R1 = size (Int)
   ;  R2 = min_char (Char)
   ;  R3 = max_char (Char)
   ;  R4 = flags (OSReadLine_Flags)
   ;  R9 = &E
   ;Exit
   ;  R0 corrupted
   ;  R1 = used (Int)
   ;  R2 corrupted
   ;  R3 corrupted

XOS_Control                     *       &2000F
OS_Control                      *       &F
   ;Entry
   ;  R0 -> error_handler (code)
   ;  R1 = error_buffer (pointer to OS_Error)
   ;  R2 -> escape_handler (code)
   ;  R3 -> event_handler (code)
   ;Exit
   ;  R0 -> old_error_handler (code)
   ;  R1 = old_error_buffer (pointer to OS_Error)
   ;  R2 -> old_escape_handler (code)
   ;  R3 -> old_event_handler (code)

XOS_GetEnv                      *       &20010
OS_GetEnv                       *       &10
   ;Exit
   ;  R0 -> command (String)
   ;  R1 = ram_limit (pointer to data)
   ;  R2 -> start (OS_DateAndTime)

XOS_Exit                        *       &20011
OS_Exit                         *       &11
   ;Entry
   ;  R0 -> error (OS_Error)
   ;  R1 = &58454241
   ;  R2 = rc (Int)

XOS_SetEnv                      *       &20012
OS_SetEnv                       *       &12
   ;Entry
   ;  R0 -> exit_handler (code)
   ;  R1 = ram_limit (pointer to data)
   ;  R4 -> undefined_instruction_handler (code)
   ;  R5 -> prefetch_abort_handler (code)
   ;  R6 -> data_abort_handler (code)
   ;  R7 -> address_exception_handler (code)
   ;Exit
   ;  R0 -> old_exit_handler (code)
   ;  R1 = old_ram_limit (pointer to data)
   ;  R4 -> old_undefined_instruction_handler (code)
   ;  R5 -> old_prefetch_abort_handler (code)
   ;  R6 -> old_data_abort_handler (code)
   ;  R7 -> old_address_exception_handler (code)

XOS_IntOn                       *       &20013
OS_IntOn                        *       &13

XOS_IntOff                      *       &20014
OS_IntOff                       *       &14

IrqV                            *       &2

XOS_CallBack                    *       &20015
OS_CallBack                     *       &15
   ;Entry
   ;  R0 -> register_block (OS_RegisterBlock)
   ;  R1 -> call_back_handler (code)
   ;Exit
   ;  R0 -> old_register_block (OS_RegisterBlock)
   ;  R1 -> old_call_back_handler (code)

XOS_EnterOS                     *       &20016
OS_EnterOS                      *       &16

XOS_LeaveOS                     *       &2007C
OS_LeaveOS                      *       &7C

XOS_BreakPt                     *       &20017
OS_BreakPt                      *       &17

XOS_BreakCtrl                   *       &20018
OS_BreakCtrl                    *       &18
   ;Entry
   ;  R0 = register_block (pointer to OS_RegisterBlock)
   ;  R1 -> break_pt_handler (code)
   ;Exit
   ;  R0 = old_register_block (pointer to OS_RegisterBlock)
   ;  R1 -> old_break_pt_handler (code)

XOS_UnusedSWI                   *       &20019
OS_UnusedSWI                    *       &19
   ;Entry
   ;  R0 -> unused_swi_handler (code)
   ;Exit
   ;  R0 -> old_unused_swi_handler (code)

UKSWIV                          *       &18

XOS_UpdateMEMC                  *       &2001A
OS_UpdateMEMC                   *       &1A
   ;Entry
   ;  R0 = value (Bits)
   ;  R1 = mask (Bits)
   ;Exit
   ;  R0 = old_value (Bits)
   ;  R1 corrupted

XOS_SetCallBack                 *       &2001B
OS_SetCallBack                  *       &1B

XOS_Mouse                       *       &2001C
OS_Mouse                        *       &1C
   ;Exit
   ;  R0 = x (Int)
   ;  R1 = y (Int)
   ;  R2 = buttons (Bits)
   ;  R3 = t (OS_T)

MouseV                          *       &1A
   ;Entry
   ;  R9 = &1A
   ;Exit
   ;  R0 = x (Int)
   ;  R1 = y (Int)
   ;  R2 = buttons (Bits)
   ;  R3 = t (OS_T)

XOS_Claim                       *       &2001F
OS_Claim                        *       &1F
   ;Entry
   ;  R0 = vector (Int)
   ;  R1 -> routine (code)
   ;  R2 = handle (pointer to data)

XOS_Release                     *       &20020
OS_Release                      *       &20
   ;Entry
   ;  R0 = vector (Int)
   ;  R1 -> routine (code)
   ;  R2 = handle (pointer to data)

XOS_ReadUnsigned                *       &20021
OS_ReadUnsigned                 *       &21
   ;Entry
   ;  R0 = flags (OS_ReadUnsignedFlags)
   ;  R1 -> number (String)
   ;  R2 = limit (Bits)
   ;Exit
   ;  R1 -> end (Char)
   ;  R2 = value (Bits)

XOS_GenerateEvent               *       &20022
OS_GenerateEvent                *       &22

EventV                          *       &10

XOS_ReadVarVal                  *       &20023
OS_ReadVarVal                   *       &23
   ;Entry
   ;  R0 -> var (String)
   ;  R1 = value (pointer to String)
   ;  R2 = size (Int)
   ;  R3 = context (Int)
   ;  R4 = var_type (OS_VarType)
   ;Exit
   ;  R0 corrupted
   ;  R2 = used (Int)
   ;  R3 = context_out (Int)
   ;  R4 = var_type_out (OS_VarType)

XOS_SetVarVal                   *       &20024
OS_SetVarVal                    *       &24
   ;Entry
   ;  R0 -> var (String)
   ;  R1 -> value (data)
   ;  R2 = size (Int)
   ;  R3 = context (Int)
   ;  R4 = var_type (OS_VarType)
   ;Exit
   ;  R3 = context_out (Int)
   ;  R4 = var_type_out (OS_VarType)

XOS_GSInit                      *       &20025
OS_GSInit                       *       &25
   ;Entry
   ;  R0 -> s (String)
   ;  R2 = flags (OS_GSFlags)
   ;Exit
   ;  R0 = context1 (Int)
   ;  R1 corrupted
   ;  R2 = context2 (Int)

XOS_GSRead                      *       &20026
OS_GSRead                       *       &26
   ;Entry
   ;  R0 = context1 (Int)
   ;  R2 = context2 (Int)
   ;Exit
   ;  R0 = context1_out (Int)
   ;  R1 = c (Char)
   ;  R2 = context2_out (Int)

XOS_GSTrans                     *       &20027
OS_GSTrans                      *       &27
   ;Entry
   ;  R0 -> s (String)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted
   ;  R2 = used (Int)

XOS_BinaryToDecimal             *       &20028
OS_BinaryToDecimal              *       &28
   ;Entry
   ;  R0 = i (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R2 = used (Int)

XOS_ChangeDynamicArea           *       &2002A
OS_ChangeDynamicArea            *       &2A
   ;Entry
   ;  R0 = area_type (OS_DynamicAreaNo)
   ;  R1 = change (Int)
   ;Exit
   ;  R1 = change_out (Int)

XOS_GenerateError               *       &2002B
OS_GenerateError                *       &2B
   ;Entry
   ;  R0 -> error (OS_Error)

ErrorV                          *       &1
   ;Entry
   ;  R9 = &1

XOS_ReadEscapeState             *       &2002C
OS_ReadEscapeState              *       &2C

XOS_EvaluateExpression          *       &2002D
OS_EvaluateExpression           *       &2D
   ;Entry
   ;  R0 -> expr (String)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R1 = expr_is_str (Bool)
   ;  R2 = int_value_or_str_used (Int)

XOS_ReadPalette                 *       &2002F
OS_ReadPalette                  *       &2F
   ;Entry
   ;  R0 = entry (OS_ColourNumber)
   ;  R1 = colour_type (Int)
   ;Exit
   ;  R2 = on (OS_Colour)
   ;  R3 = off (OS_Colour)

PaletteV                        *       &23

PaletteV_ReadEntry              *       &1
   ;Entry
   ;  R0 = entry (OS_ColourNumber)
   ;  R1 = colour_type (Int)
   ;  R4 = &1
   ;  R9 = &23
   ;Exit
   ;  R2 = on (OS_Colour)
   ;  R3 = off (OS_Colour)
   ;  R4 = incomplete (Bool)

PaletteV_SetEntry               *       &2
   ;Entry
   ;  R0 = entry (OS_ColourNumber)
   ;  R1 = colour_type (Int)
   ;  R2 = on (OS_Colour)
   ;  R3 = off (OS_Colour)
   ;  R4 = &2
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_SetOn                  *       &3
   ;Entry
   ;  R4 = &3
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_SetOff                 *       &4
   ;Entry
   ;  R4 = &4
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_Default                *       &5
   ;Entry
   ;  R4 = &5
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_BlankScreen            *       &6
   ;Entry
   ;  R0 = state (PaletteV_ScreenState)
   ;  R4 = &6
   ;  R9 = &23
   ;Exit
   ;  R0 = state_out (PaletteV_ScreenState)
   ;  R4 = incomplete (Bool)

PaletteV_ReadEntries            *       &7
   ;Entry
   ;  R0 -> entry_list (OS_ColourNumber)
   ;  R1 = colour_type_and_entry_count (Bits)
   ;  R2 = on (pointer to OS_Palette)
   ;  R3 = off (pointer to OS_Palette)
   ;  R4 = &7
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_WriteEntries           *       &8
   ;Entry
   ;  R0 -> entry_list (OS_ColourNumber)
   ;  R1 = colour_type_and_entry_count (Bits)
   ;  R2 -> palette (OS_Palette)
   ;  R4 = &8
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_SetGammaCorrections    *       &9
   ;Entry
   ;  R0 -> red_table (OS_CorrectionTable)
   ;  R1 -> green_table (OS_CorrectionTable)
   ;  R2 -> blue_table (OS_CorrectionTable)
   ;  R4 = &9
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_InvertLCD              *       &A
   ;Entry
   ;  R4 = &A
   ;  R9 = &23
   ;Exit
   ;  R4 = incomplete (Bool)

PaletteV_DimScreen              *       &B
   ;Entry
   ;  R0 = state (PaletteV_ScreenState)
   ;  R4 = &B
   ;  R9 = &23
   ;Exit
   ;  R0 = state_out (PaletteV_ScreenState)
   ;  R4 = incomplete (Bool)

XOS_ServiceCall                 *       &20030
OS_ServiceCall                  *       &30

XOS_ReadVduVariables            *       &20031
OS_ReadVduVariables             *       &31
   ;Entry
   ;  R0 -> var_list (OS_VDUVarList)
   ;  R1 = value_list (pointer to Int)

XOS_ReadPoint                   *       &20032
OS_ReadPoint                    *       &32
   ;Entry
   ;  R0 = x (Int)
   ;  R1 = y (Int)
   ;Exit
   ;  R2 = gcol (OS_GCOL)
   ;  R3 = tint (OS_Tint)
   ;  R4 = off_screen (Bool)

XOS_UpCall                      *       &20033
OS_UpCall                       *       &33

UpCallV                         *       &1D

XOS_CallAVector                 *       &20034
OS_CallAVector                  *       &34

XOS_ReadModeVariable            *       &20035
OS_ReadModeVariable             *       &35
   ;Entry
   ;  R0 = mode (OS_Mode)
   ;  R1 = var (OS_ModeVar)
   ;Exit
   ;  R2 = var_val (Int)

XOS_RemoveCursors               *       &20036
OS_RemoveCursors                *       &36

XOS_RestoreCursors              *       &20037
OS_RestoreCursors               *       &37

XOS_SWINumberToString           *       &20038
OS_SWINumberToString            *       &38
   ;Entry
   ;  R0 = swi (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R2 = used (Int)

XOS_SWINumberFromString         *       &20039
OS_SWINumberFromString          *       &39
   ;Entry
   ;  R1 -> swi_name (String)
   ;Exit
   ;  R0 = swi (Int)

XOS_ValidateAddress             *       &2003A
OS_ValidateAddress              *       &3A
   ;Entry
   ;  R0 = min (pointer to data)
   ;  R1 = max (pointer to data)

XOS_CallAfter                   *       &2003B
OS_CallAfter                    *       &3B
   ;Entry
   ;  R0 = delay (Int)
   ;  R1 -> code (code)
   ;  R2 = handle (pointer to data)

XOS_CallEvery                   *       &2003C
OS_CallEvery                    *       &3C
   ;Entry
   ;  R0 = delay (Int)
   ;  R1 -> code (code)
   ;  R2 = handle (pointer to data)

XOS_RemoveTickerEvent           *       &2003D
OS_RemoveTickerEvent            *       &3D
   ;Entry
   ;  R0 -> code (code)
   ;  R1 = handle (pointer to data)

TickerV                         *       &1C
   ;Entry
   ;  R9 = &1C

XOS_InstallKeyHandler           *       &2003E
OS_InstallKeyHandler            *       &3E
   ;Entry
   ;  R0 -> key_handler (OS_KeyHandler)
   ;Exit
   ;  R0 -> old_key_handler (OS_KeyHandler)

KeyV                            *       &13

KeyV_Present                    *       &0
   ;Entry
   ;  R0 = &0
   ;  R1 = keyboard_type (KeyV_Type)
   ;  R9 = &13

KeyV_TransitionUp               *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 = key (Int)
   ;  R9 = &13

KeyV_TransitionDown             *       &2
   ;Entry
   ;  R0 = &2
   ;  R1 = key (Int)
   ;  R9 = &13

KeyV_LEDState                   *       &3
   ;Entry
   ;  R0 = &3
   ;  R1 = flags (Bits)
   ;  R9 = &13

KeyV_EnableDrivers              *       &4
   ;Entry
   ;  R0 = &4
   ;  R9 = &13

XOS_CheckModeValid              *       &2003F
OS_CheckModeValid               *       &3F
   ;Entry
   ;  R0 = mode (OS_Mode)
   ;Exit
   ;  R0 = mode_status (Int)
   ;  R1 = alternative_mode (OS_Mode)

XOS_ChangeEnvironment           *       &20040
OS_ChangeEnvironment            *       &40
   ;Entry
   ;  R0 = handler_type (OS_HandlerType)
   ;  R1 -> handler (code)
   ;  R2 = handle (pointer to data)
   ;  R3 = buffer (pointer to data)
   ;Exit
   ;  R1 -> old_handler (code)
   ;  R2 = old_handle (pointer to data)
   ;  R3 = old_buffer (pointer to data)

ChangeEnvironmentV              *       &1E
   ;Entry
   ;  R0 = handler_type (OS_HandlerType)
   ;  R1 -> handler (code)
   ;  R2 = handle (pointer to data)
   ;  R3 = buffer (pointer to data)
   ;  R9 = &1E
   ;Exit
   ;  R1 -> old_handler (code)
   ;  R2 = old_handle (pointer to data)
   ;  R3 = old_buffer (pointer to data)

XOS_ClaimScreenMemory           *       &20041
OS_ClaimScreenMemory            *       &41

OSClaimScreenMemory_Alloc       *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 = size (Int)
   ;Exit
   ;  R1 = size_out (Int)
   ;  R2 = blk (pointer to Void)

OSClaimScreenMemory_Free        *       &0
   ;Entry
   ;  R0 = &0

XOS_ReadMonotonicTime           *       &20042
OS_ReadMonotonicTime            *       &42
   ;Exit
   ;  R0 = t (OS_T)

XOS_SubstituteArgs              *       &20043
OS_SubstituteArgs               *       &43
   ;Entry
   ;  R0 -> args (String)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;  R3 -> source (String)
   ;  R4 = source_size (Int)
   ;Exit
   ;  R2 = used (Int)

XOS_SubstituteArgs32            *       &2007E
OS_SubstituteArgs32             *       &7E
   ;Entry
   ;  R0 -> args (String)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;  R3 -> source (String)
   ;  R4 = source_size (Int)
   ;  R5 = flags (OS_SubstituteArgsFlags)
   ;Exit
   ;  R2 = used (Int)

XOS_PrettyPrint                 *       &20044
OS_PrettyPrint                  *       &44
   ;Entry
   ;  R0 -> string (String)
   ;  R1 -> dictionary (data)
   ;  R2 -> special (String)

XOS_Plot                        *       &20045
OS_Plot                         *       &45
   ;Entry
   ;  R0 = plot_code (OS_PlotCode)
   ;  R1 = x (Int)
   ;  R2 = y (Int)

UKPLOTV                         *       &19
   ;Entry
   ;  R0 = plot_code (OS_PlotCode)
   ;  R9 = &19

XOS_WriteN                      *       &20046
OS_WriteN                       *       &46
   ;Entry
   ;  R0 -> s (String)
   ;  R1 = size (Int)

XOS_AddToVector                 *       &20047
OS_AddToVector                  *       &47
   ;Entry
   ;  R0 = vector (Int)
   ;  R1 -> routine (code)
   ;  R2 = handle (pointer to data)

XOS_WriteEnv                    *       &20048
OS_WriteEnv                     *       &48
   ;Entry
   ;  R0 -> command (String)
   ;  R1 -> start (OS_DateAndTime)

XOS_ReadArgs                    *       &20049
OS_ReadArgs                     *       &49
   ;Entry
   ;  R0 -> keywords (String)
   ;  R1 -> input (String)
   ;  R2 = buffer (pointer to String)
   ;  R3 = size (Int)
   ;Exit
   ;  R3 = spare (Int)

XOS_ReadRAMFsLimits             *       &2004A
OS_ReadRAMFsLimits              *       &4A
   ;Exit
   ;  R0 -> start (data)
   ;  R1 -> end (Char)

XOS_ClaimDeviceVector           *       &2004B
OS_ClaimDeviceVector            *       &4B
   ;Entry
   ;  R0 = device (OS_DeviceType)
   ;  R1 -> driver (code)
   ;  R2 = handle (pointer to data)
   ;  R3 = status (pointer to Int)
   ;  R4 = mask (Bits)

XOS_ReleaseDeviceVector         *       &2004C
OS_ReleaseDeviceVector          *       &4C
   ;Entry
   ;  R0 = device (OS_DeviceType)
   ;  R1 -> driver (code)
   ;  R2 = handle (pointer to data)
   ;  R3 = status (pointer to Int)
   ;  R4 = mask (Bits)

XOS_DelinkApplication           *       &2004D
OS_DelinkApplication            *       &4D
   ;Entry
   ;  R0 = vector_details (pointer to data)
   ;  R1 = size (Int)
   ;Exit
   ;  R1 = used (Int)

XOS_RelinkApplication           *       &2004E
OS_RelinkApplication            *       &4E
   ;Entry
   ;  R0 -> vector_details (data)

XOS_HeapSort                    *       &2004F
OS_HeapSort                     *       &4F
   ;Entry
   ;  R0 = count (Int)
   ;  R1 = array (pointer to Int)
   ;  R2 = compare_fn (OS_SortType)
   ;  R3 = handle (pointer to data)
   ;  R4 = objects (pointer to data)
   ;  R5 = object_size (Int)
   ;  R6 = workspace (pointer to Void)

XOS_HeapSort32                  *       &2007F
OS_HeapSort32                   *       &7F
   ;Entry
   ;  R0 = count (Int)
   ;  R1 = array (pointer to Int)
   ;  R2 = compare_fn (OS_SortType)
   ;  R3 = handle (pointer to data)
   ;  R4 = objects (pointer to data)
   ;  R5 = object_size (Int)
   ;  R6 = workspace (pointer to Void)
   ;  R7 = flags (OS_HeapSortFlags)

XOS_ExitAndDie                  *       &20050
OS_ExitAndDie                   *       &50
   ;Entry
   ;  R0 -> error (OS_Error)
   ;  R1 = &58454241
   ;  R2 = rc (Int)
   ;  R3 -> module_name (String)

XOS_ReadMemMapInfo              *       &20051
OS_ReadMemMapInfo               *       &51
   ;Exit
   ;  R0 = page_size (Int)
   ;  R1 = page_count (Int)

XOS_ReadMemMapEntries           *       &20052
OS_ReadMemMapEntries            *       &52
   ;Entry
   ;  R0 = request_list (pointer to OS_MemMapRequestList)

XOS_SetMemMapEntries            *       &20053
OS_SetMemMapEntries             *       &53
   ;Entry
   ;  R0 -> request_list (OS_MemMapRequestList)

XOS_AddCallBack                 *       &20054
OS_AddCallBack                  *       &54
   ;Entry
   ;  R0 -> call_back (code)
   ;  R1 = handle (pointer to data)

XOS_ReadDefaultHandler          *       &20055
OS_ReadDefaultHandler           *       &55
   ;Entry
   ;  R0 = handler_type (Int)
   ;Exit
   ;  R1 -> handler (code)
   ;  R2 = handle (pointer to data)
   ;  R3 = buffer (pointer to data)

XOS_SetECFOrigin                *       &20056
OS_SetECFOrigin                 *       &56
   ;Entry
   ;  R0 = x (Int)
   ;  R1 = y (Int)

XOS_Confirm                     *       &20059
OS_Confirm                      *       &59
   ;Exit
   ;  R0 = key (Char)

XOS_ChangedBox                  *       &2005A
OS_ChangedBox                   *       &5A
   ;Entry
   ;  R0 = state (OS_ChangedBoxState)
   ;Exit
   ;  R0 = enabled (Bool)
   ;  R1 -> change_box (OS_ChangeBox)

XOS_CRC                         *       &2005B
OS_CRC                          *       &5B
   ;Entry
   ;  R0 = crc_in (Int)
   ;  R1 -> block (data)
   ;  R2 -> end (data)
   ;  R3 = stride (Int)
   ;Exit
   ;  R0 = crc (Int)

XOS_ReadDynamicArea             *       &2005C
OS_ReadDynamicArea              *       &5C
   ;Entry
   ;  R0 = area (OS_DynamicAreaNo)
   ;Exit
   ;  R0 = area_start (pointer to data)
   ;  R1 = size (Int)
   ;  R2 = size_limit (Int)

XOS_PrintChar                   *       &2005D
OS_PrintChar                    *       &5D
   ;Entry
   ;  R0 = c (Char)

XOS_ChangeRedirection           *       &2005E
OS_ChangeRedirection            *       &5E
   ;Entry
   ;  R0 = input (OS_F)
   ;  R1 = output (OS_F)
   ;Exit
   ;  R0 = old_input (OS_F)
   ;  R1 = old_output (OS_F)

XOS_ChangeRedirectionW          *       &2005E
OS_ChangeRedirectionW           *       &5E
   ;Entry
   ;  R0 = input (OS_FW)
   ;  R1 = output (OS_FW)
   ;Exit
   ;  R0 = old_input (OS_FW)
   ;  R1 = old_output (OS_FW)

XOS_RemoveCallBack              *       &2005F
OS_RemoveCallBack               *       &5F
   ;Entry
   ;  R0 -> call_back (code)
   ;  R1 = handle (pointer to data)

XOS_FindMemMapEntries           *       &20060
OS_FindMemMapEntries            *       &60
   ;Entry
   ;  R0 = request_list (pointer to OS_MemMapRequestList)

XOS_SetColour                   *       &20061
OS_SetColour                    *       &61
   ;Entry
   ;  R0 = flags (OS_ColourFlags)
   ;  R1 = colour_number (OS_ColourNumber)

XOS_ReadColour                  *       &20061
OS_ReadColour                   *       &61
   ;Entry
   ;  R0 = &80 :OR: flags (OS_ColourFlags)
   ;  R1 = pattern (pointer to OS_ECF)
   ;Exit
   ;  R0 = flags_out (OS_ColourFlags)
   ;  R1 = colour_number (OS_ColourNumber)

XOS_Pointer                     *       &20064
OS_Pointer                      *       &64

OSPointer_Get                   *       &0
   ;Entry
   ;  R0 = &0
   ;Exit
   ;  R0 = pointer_type (OS_PointerType)

OSPointer_Set                   *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 = pointer_type (OS_PointerType)
   ;Exit
   ;  R0 corrupted

OSPointer_ReadAlternatePosition *       &2
   ;Entry
   ;  R0 = &2
   ;Exit
   ;  R0 = xposition (Int)
   ;  R1 = yposition (Int)

PointerV                        *       &26

PointerV_Status                 *       &0
   ;Entry
   ;  R0 = &0
   ;  R1 = pointer_type (OS_PointerType)
   ;  R9 = &26
   ;Exit
   ;  R2 = xmove (Int)
   ;  R3 = ymove (Int)

PointerV_Enumerate              *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 -> record (PointerV_Record)
   ;  R9 = &26
   ;Exit
   ;  R1 -> record_out (PointerV_Record)

PointerV_Selected               *       &2
   ;Entry
   ;  R0 = &2
   ;  R1 = pointer_type (OS_PointerType)
   ;  R9 = &26

PointerV_ExtendedStatus         *       &4
   ;Entry
   ;  R0 = &4
   ;  R1 = pointer_type (OS_PointerType)
   ;  R9 = &26
   ;Exit
   ;  R2 = xmove (Int)
   ;  R3 = ymove (Int)
   ;  R4 = xmove_alternate (Int)
   ;  R5 = ymove_alternate (Int)
   ;  R6 = buttons (Bits)

XOS_ScreenMode                  *       &20065
OS_ScreenMode                   *       &65

OSScreenMode_Select             *       &0
   ;Entry
   ;  R0 = &0
   ;  R1 = mode (OS_Mode)

OSScreenMode_Current            *       &1
   ;Entry
   ;  R0 = &1
   ;Exit
   ;  R1 = mode (OS_Mode)

OSScreenMode_Enumerate          *       &2
   ;Entry
   ;  R0 = &2
   ;  R2 = context (Int)
   ;  R6 = block (pointer to OS_ModeBlock)
   ;  R7 = block_size (Int)
   ;Exit
   ;  R1 = complete (Bool)
   ;  R2 = context_out (Int)
   ;  R6 -> end (data)
   ;  R7 = free (Int)

OSScreenMode_CacheControl       *       &4
   ;Entry
   ;  R0 = &4
   ;  R1 = flags (OSScreenMode_CacheFlags)
   ;  R2 = laziness (OSScreenMode_CleanerLaziness)
   ;Exit
   ;  R1 = current_flags (OSScreenMode_CacheFlags)
   ;  R2 = current_laziness (OSScreenMode_CleanerLaziness)

OSScreenMode_RequestClean       *       &5
   ;Entry
   ;  R0 = &5

OSScreenMode_ForceClean         *       &6
   ;Entry
   ;  R0 = &6

XOS_DynamicArea                 *       &20066
OS_DynamicArea                  *       &66

OSDynamicArea_Create            *       &0
   ;Entry
   ;  R0 = &0
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R2 = size (Int)
   ;  R3 -> base_address (data)
   ;  R4 = flags (OS_AreaFlags)
   ;  R5 = size_limit (Int)
   ;  R6 -> handler (code)
   ;  R7 = workspace (pointer to Void)
   ;  R8 -> description (String)
   ;Exit
   ;  R1 = area_out (OS_DynamicAreaNo)
   ;  R3 -> base_address_out (data)
   ;  R5 = size_limit_out (Int)

OSDynamicArea_Delete            *       &1
   ;Entry
   ;  R0 = &1
   ;  R1 = area (OS_DynamicAreaNo)

OSDynamicArea_Read              *       &2
   ;Entry
   ;  R0 = &2
   ;  R1 = area (OS_DynamicAreaNo)
   ;Exit
   ;  R2 = size (Int)
   ;  R3 -> base_address (data)
   ;  R4 = flags (OS_AreaFlags)
   ;  R5 = size_limit (Int)
   ;  R6 -> handler (code)
   ;  R7 = workspace (pointer to Void)
   ;  R8 -> description (String)

OSDynamicArea_Enumerate         *       &3
   ;Entry
   ;  R0 = &3
   ;  R1 = context (Int)
   ;Exit
   ;  R1 = context_out (Int)

OSDynamicArea_Renumber          *       &4
   ;Entry
   ;  R0 = &4
   ;  R1 = old_area (OS_DynamicAreaNo)
   ;  R2 = new_area (OS_DynamicAreaNo)

OSDynamicArea_FreeSpace         *       &5
   ;Entry
   ;  R0 = &5
   ;  R1 = exclude_area (OS_DynamicAreaNo)
   ;Exit
   ;  R1 = free_space (Int)

OSDynamicArea_SetClamps         *       &8
   ;Entry
   ;  R0 = &8
   ;  R1 = unlimited_area_clamp (Int)
   ;  R2 = limited_area_clamp (Int)
   ;  R3 = sparse_area_clamp (Int)
   ;Exit
   ;  R1 = old_unlimited_area_clamp (Int)
   ;  R2 = old_limited_area_clamp (Int)
   ;  R3 = old_sparse_area_clamp (Int)

OSDynamicArea_EnsureRegion      *       &9
   ;Entry
   ;  R0 = &9
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R2 -> base_address (data)
   ;  R3 = size (Int)

OSDynamicArea_ReleaseRegion     *       &A
   ;Entry
   ;  R0 = &A
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R2 -> base_address (data)
   ;  R3 = size (Int)

OSDynamicArea_HeapDescribe      *       &E
   ;Entry
   ;  R0 = &E
   ;  R1 = area (OS_DynamicAreaNo)
   ;Exit
   ;  R2 = max (Int)
   ;  R3 = free (Int)

OSDynamicArea_HeapAlloc         *       &F
   ;Entry
   ;  R0 = &F
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R3 = size (Int)
   ;Exit
   ;  R2 = blk (pointer to Void)

OSDynamicArea_HeapFree          *       &10
   ;Entry
   ;  R0 = &10
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R2 = blk (pointer to Void)

OSDynamicArea_HeapRealloc       *       &11
   ;Entry
   ;  R0 = &11
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R2 = blk (pointer to Void)
   ;  R3 = size_increase (Int)
   ;Exit
   ;  R2 = blk_out (pointer to Void)

OSDynamicArea_HeapReadSize      *       &12
   ;Entry
   ;  R0 = &12
   ;  R1 = area (OS_DynamicAreaNo)
   ;  R2 = blk (pointer to Void)
   ;Exit
   ;  R3 = size (Int)

XOS_Memory                      *       &20068
OS_Memory                       *       &68

OSMemory_PageOp                 *       &0
   ;Entry
   ;  R0 = &0 :OR: flags (OSMemory_Flags)
   ;  R1 -> page_block (OS_PageBlock)
   ;  R2 = page_count (Int)

OSMemory_ReadArrangementTableSize *       &6
   ;Entry
   ;  R0 = &6
   ;Exit
   ;  R1 = table_size (Int)
   ;  R2 = page_size (Int)

OSMemory_ReadArrangementTable   *       &7
   ;Entry
   ;  R0 = &7
   ;  R1 = arrangement_table (pointer to data)

OSMemory_ReadSize               *       &8
   ;Entry
   ;  R0 = &8 :OR: type (OSMemory_TypeFlags)
   ;Exit
   ;  R1 = page_count (Int)
   ;  R2 = page_size (Int)

OSMemory_ReadController         *       &9
   ;Entry
   ;  R0 = &9
   ;  R1 = controller (OSMemory_ControllerFlags)
   ;Exit
   ;  R1 -> controller_addr (code)

OSMemory_FindContiguous         *       &C
   ;Entry
   ;  R0 = &C
   ;  R1 = size (Int)
   ;Exit
   ;  R3 = page_number (Int)

OSMemory_MapInPermanentIO       *       &D
   ;Entry
   ;  R0 = &D :OR: flags (OSMemory_IOFlags)
   ;  R1 = phys_addr (pointer to data)
   ;  R2 = size (Int)
   ;Exit
   ;  R3 = log_addr (pointer to data)

OSMemory_MapInTemporaryIO       *       &E
   ;Entry
   ;  R0 = &E :OR: flags (OSMemory_IOFlags)
   ;  R1 = phys_addr (pointer to data)
   ;Exit
   ;  R2 = log_addr (pointer to data)
   ;  R3 = key (OSMemory_IOReferenceKey)

OSMemory_MapOutTemporaryIO      *       &F
   ;Entry
   ;  R0 = &F
   ;  R1 = key (OSMemory_IOReferenceKey)

OSMemory_GetAreaInfo            *       &10
   ;Entry
   ;  R0 = &10 :OR: type (OSMemory_AreaFlags)
   ;Exit
   ;  R1 = base (pointer to data)
   ;  R2 = allocated (Int)
   ;  R3 = used (Int)

XOS_ClaimProcessorVector        *       &20069
OS_ClaimProcessorVector         *       &69

OSClaimProcessorVector_Alloc    *       &100
   ;Entry
   ;  R0 = &100 :OR: vector (Bits)
   ;  R1 -> routine (code)
   ;Exit
   ;  R1 -> old_routine (code)

OSClaimProcessorVector_Free     *       &0
   ;Entry
   ;  R0 = &0 :OR: vector (Bits)
   ;  R2 -> old_routine (code)
   ;Exit
   ;  R1 corrupted

XOS_Reset                       *       &2006A
OS_Reset                        *       &6A

XOS_MMUControl                  *       &2006B
OS_MMUControl                   *       &6B
   ;Entry
   ;  R0 = &0
   ;  R1 = eor_mask (Bits)
   ;  R2 = and_mask (Bits)
   ;Exit
   ;  R1 = old_value (Bits)
   ;  R2 corrupted

XOS_PlatformFeatures            *       &2006D
OS_PlatformFeatures             *       &6D

OSPlatformFeatures_GetFeatures  *       &0
   ;Entry
   ;  R0 = &0
   ;Exit
   ;  R0 = flags (OS_PlatformFeatureFlags)
   ;  R1 -> predisable_fn (code)

XOS_SynchroniseCodeAreas        *       &2006E
OS_SynchroniseCodeAreas         *       &6E
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 -> start (code)
   ;  R2 -> end (code)

XOS_CallASWI                    *       &2006F
OS_CallASWI                     *       &6F

XOS_AMBControl                  *       &20070
OS_AMBControl                   *       &70

XOS_CallASWIR12                 *       &20071
OS_CallASWIR12                  *       &71

XOS_EnterUSR32                  *       &20073
OS_EnterUSR32                   *       &73

XOS_EnterUSR26                  *       &20074
OS_EnterUSR26                   *       &74

XOS_Hardware                    *       &2007A
OS_Hardware                     *       &7A

OS_HardwareCallHAL              *       &0
   ;Entry
   ;  R0 = arg1 (Int)
   ;  R1 = arg2 (Int)
   ;  R2 = arg3 (Int)
   ;  R3 = arg4 (Int)
   ;  R4 = arg5 (Int)
   ;  R5 = arg6 (Int)
   ;  R6 = arg7 (Int)
   ;  R7 = arg8 (Int)
   ;  R8 = &0 :OR: flags (OS_HardwareFlags)
   ;  R9 = call (Int)
   ;Exit
   ;  R0 = result1 (Int)
   ;  R1 = result2 (Int)
   ;  R2 = result3 (Int)
   ;  R3 = result4 (Int)

OS_HardwareFindHALRoutine       *       &1
   ;Entry
   ;  R8 = &1 :OR: flags (OS_HardwareFlags)
   ;  R9 = call (Int)
   ;Exit
   ;  R0 = routine (pointer to code)
   ;  R1 = static_base (Int)

XOS_ConvertStandardDateAndTime  *       &200C0
OS_ConvertStandardDateAndTime   *       &C0
   ;Entry
   ;  R0 -> date_and_time (OS_DateAndTime)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertDateAndTime          *       &200C1
OS_ConvertDateAndTime           *       &C1
   ;Entry
   ;  R0 -> date_and_time (OS_DateAndTime)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;  R3 -> format (String)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertHex1                 *       &200D0
OS_ConvertHex1                  *       &D0
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertHex2                 *       &200D1
OS_ConvertHex2                  *       &D1
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertHex4                 *       &200D2
OS_ConvertHex4                  *       &D2
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertHex6                 *       &200D3
OS_ConvertHex6                  *       &D3
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertHex8                 *       &200D4
OS_ConvertHex8                  *       &D4
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertCardinal1            *       &200D5
OS_ConvertCardinal1             *       &D5
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertCardinal2            *       &200D6
OS_ConvertCardinal2             *       &D6
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertCardinal3            *       &200D7
OS_ConvertCardinal3             *       &D7
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertCardinal4            *       &200D8
OS_ConvertCardinal4             *       &D8
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertInteger1             *       &200D9
OS_ConvertInteger1              *       &D9
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertInteger2             *       &200DA
OS_ConvertInteger2              *       &DA
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertInteger3             *       &200DB
OS_ConvertInteger3              *       &DB
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertInteger4             *       &200DC
OS_ConvertInteger4              *       &DC
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertBinary1              *       &200DD
OS_ConvertBinary1               *       &DD
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertBinary2              *       &200DE
OS_ConvertBinary2               *       &DE
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertBinary3              *       &200DF
OS_ConvertBinary3               *       &DF
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertBinary4              *       &200E0
OS_ConvertBinary4               *       &E0
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedCardinal1      *       &200E1
OS_ConvertSpacedCardinal1       *       &E1
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedCardinal2      *       &200E2
OS_ConvertSpacedCardinal2       *       &E2
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedCardinal3      *       &200E3
OS_ConvertSpacedCardinal3       *       &E3
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedCardinal4      *       &200E4
OS_ConvertSpacedCardinal4       *       &E4
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedInteger1       *       &200E5
OS_ConvertSpacedInteger1        *       &E5
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedInteger2       *       &200E6
OS_ConvertSpacedInteger2        *       &E6
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedInteger3       *       &200E7
OS_ConvertSpacedInteger3        *       &E7
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertSpacedInteger4       *       &200E8
OS_ConvertSpacedInteger4        *       &E8
   ;Entry
   ;  R0 = value (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertFixedNetStation      *       &200E9
OS_ConvertFixedNetStation       *       &E9
   ;Entry
   ;  R0 -> station_number (OS_StationNumber)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertNetStation           *       &200EA
OS_ConvertNetStation            *       &EA
   ;Entry
   ;  R0 -> station_number (OS_StationNumber)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertFixedFileSize        *       &200EB
OS_ConvertFixedFileSize         *       &EB
   ;Entry
   ;  R0 = file_size (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_ConvertFileSize             *       &200EC
OS_ConvertFileSize              *       &EC
   ;Entry
   ;  R0 = file_size (Int)
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XOS_WriteI                      *       &20100
OS_WriteI                       *       &100

XOS_Null                        *       &20100
OS_Null                         *       &100

XOS_CharToPrinter               *       &20101
OS_CharToPrinter                *       &101

XOS_PrinterOn                   *       &20102
OS_PrinterOn                    *       &102

XOS_PrinterOff                  *       &20103
OS_PrinterOff                   *       &103

XOS_SplitCursors                *       &20104
OS_SplitCursors                 *       &104

XOS_JoinCursors                 *       &20105
OS_JoinCursors                  *       &105

XOS_VDUOn                       *       &20106
OS_VDUOn                        *       &106

XOS_Bell                        *       &20107
OS_Bell                         *       &107

XOS_Backspace                   *       &20108
OS_Backspace                    *       &108

XOS_Tab                         *       &20109
OS_Tab                          *       &109

XOS_LineFeed                    *       &2010A
OS_LineFeed                     *       &10A

XOS_VerticalTab                 *       &2010B
OS_VerticalTab                  *       &10B

XOS_ClS                         *       &2010C
OS_ClS                          *       &10C

XOS_Return                      *       &2010D
OS_Return                       *       &10D

XOS_PageModeOn                  *       &2010E
OS_PageModeOn                   *       &10E

XOS_PageModeOff                 *       &2010F
OS_PageModeOff                  *       &10F

XOS_ClG                         *       &20110
OS_ClG                          *       &110

XOS_SetTextColour               *       &20111
OS_SetTextColour                *       &111

XOS_SetGCOL                     *       &20112
OS_SetGCOL                      *       &112

XOS_SetPalette                  *       &20113
OS_SetPalette                   *       &113

XOS_ResetColours                *       &20114
OS_ResetColours                 *       &114

XOS_VDUOff                      *       &20115
OS_VDUOff                       *       &115

XOS_SetMode                     *       &20116
OS_SetMode                      *       &116

XOS_Misc                        *       &20117
OS_Misc                         *       &117

XOS_SetGraphicsWindow           *       &20118
OS_SetGraphicsWindow            *       &118

XOS_PlotVDU                     *       &20119
OS_PlotVDU                      *       &119

XOS_ResetWindows                *       &2011A
OS_ResetWindows                 *       &11A

XOS_Escape                      *       &2011B
OS_Escape                       *       &11B

XOS_SetTextWindow               *       &2011C
OS_SetTextWindow                *       &11C

XOS_SetGraphicsOrigin           *       &2011D
OS_SetGraphicsOrigin            *       &11D

XOS_HomeTextCursor              *       &2011E
OS_HomeTextCursor               *       &11E

XOS_SetTextCursor               *       &2011F
OS_SetTextCursor                *       &11F

XOS_Space                       *       &20120
OS_Space                        *       &120

XOS_Delete                      *       &2017F
OS_Delete                       *       &17F

UserV                           *       &0

UKVDU23V                        *       &17
   ;Entry
   ;  R0 = n (Int)
   ;  R1 -> queue (Byte)
   ;  R9 = &17

VDUXV                           *       &1B
   ;Entry
   ;  R0 = b (Byte)
   ;  R9 = &1B

Service_ReleaseFIQ              *       &B
   ;Entry
   ;  R1 = &B

Service_ClaimFIQ                *       &C
   ;Entry
   ;  R1 = &C

Service_Reset                   *       &27
   ;Entry
   ;  R1 = &27

Service_KeyHandler              *       &44
   ;Entry
   ;  R1 = &44
   ;  R2 = keyboard_id (Int)

Service_ModeChange              *       &46
   ;Entry
   ;  R1 = &46

Service_ClaimFIQInBackground    *       &47
   ;Entry
   ;  R1 = &47

Service_MemoryMoved             *       &4E
   ;Entry
   ;  R1 = &4E

Service_PreModeChange           *       &4D
   ;Entry
   ;  R1 = &4D
   ;  R2 = mode (OS_Mode)

Service_ModeExtension           *       &50
   ;Entry
   ;  R1 = &50
   ;  R2 = mode (OS_Mode)
   ;  R3 = monitor_type (Int)
   ;  R4 = bandwidth (Int)
   ;  R5 = vram_size (Int)
   ;Exit
   ;  R1 = unclaimed (Bool)
   ;  R3 -> vidc_list (Int)
   ;  R4 -> workspace_list (Int)

Service_ModeTranslation         *       &51
   ;Entry
   ;  R1 = &51
   ;  R2 = mode (OS_Mode)
   ;  R3 = monitor_type (Int)

Service_ValidateAddress         *       &6D
   ;Entry
   ;  R1 = &6D

Service_MonitorLeadTranslation  *       &76
   ;Entry
   ;  R1 = &76
   ;  R2 = lead_id (Int)

Service_ModeChanging            *       &89
   ;Entry
   ;  R1 = &89
   ;  R2 = mode (OS_Mode)
   ;  R3 = monitor_type (Int)

Service_EnumerateScreenModes    *       &8D
   ;Entry
   ;  R1 = &8D
   ;  R2 = context (Int)
   ;  R3 = monitor_type (Int)
   ;  R4 = bandwidth (Int)
   ;  R5 = vram_size (Int)
   ;  R6 = block (pointer to OS_ModeBlock)
   ;  R7 = block_size (Int)
   ;Exit
   ;  R1 = unclaimed (Bool)
   ;  R2 = context_out (Int)
   ;  R6 -> end (data)
   ;  R7 = free (Int)

Service_PagesUnsafe             *       &8E
   ;Entry
   ;  R1 = &8E
   ;  R2 -> page_block (OS_PageBlock)
   ;  R3 = request_count (Int)

Service_PagesSafe               *       &8F
   ;Entry
   ;  R1 = &8F
   ;  R2 = request_count (Int)
   ;  R3 -> old_page_block (OS_PageBlock)
   ;  R4 -> new_page_block (OS_PageBlock)

Service_DynamicAreaCreate       *       &90
   ;Entry
   ;  R1 = &90
   ;  R2 = area (Int)

Service_DynamicAreaRemove       *       &91
   ;Entry
   ;  R1 = &91
   ;  R2 = area (Int)

Service_DynamicAreaRenumber     *       &92
   ;Entry
   ;  R1 = &92
   ;  R2 = area (Int)

Event_CharInput                 *       &2
   ;Entry
   ;  R0 = &2
   ;  R1 = buffer (Int)
   ;  R2 = b (Byte)

Event_VSync                     *       &4
   ;Entry
   ;  R0 = &4

Event_IntervalTimer             *       &5
   ;Entry
   ;  R0 = &5

Event_Escape                    *       &6
   ;Entry
   ;  R0 = &6

Event_User                      *       &9

Event_MouseTransition           *       &A
   ;Entry
   ;  R0 = &A
   ;  R1 = x (Int)
   ;  R2 = y (Int)
   ;  R3 = state (Bits)
   ;  R4 = t (OS_T)

Event_KeyTransition             *       &B
   ;Entry
   ;  R0 = &B
   ;  R1 = down (Bool)
   ;  R2 = key (Int)
   ;  R3 = keyboard_id (Int)

Event_PointerScroll             *       &4
   ;Entry
   ;  R0 = &15
   ;  R1 = &4
   ;  R2 = xmove (Int)
   ;  R3 = ymove (Int)

UpCall_MoveMemoryRequest        *       &101
   ;Entry
   ;  R0 = &101
   ;  R1 = size_change (Int)
   ;Exit
   ;  R0 = not_moved (Bool)

        ]
        END
